package br.com.empresa.view;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import java.awt.Color;

import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;

import br.com.empresa.dao.ProdutoDAO;
import br.com.empresa.modelo.Produto;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class CadastroProdutoGUI extends JFrame {

	private JPanel contentPane;
	private JTextField txCodigo;
	private JTextField txNome;
	private JTextField txPreco;
	private DefaultTableModel modelo;
	private int linhaSelecionada;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CadastroProdutoGUI frame = new CadastroProdutoGUI();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	
	public CadastroProdutoGUI(int cdFornecedor, DefaultTableModel modelo,
			int linhaSelecionada) {
		this();
		this.modelo = modelo;
		this.linhaSelecionada = linhaSelecionada;
		ProdutoDAO dao = new ProdutoDAO();
		Produto produto = dao.listarPorId(cdFornecedor);
		txCodigo.setText(String.valueOf(produto.getCodigo()));
		txNome.setText(produto.getNome());
		txPreco.setText(String.valueOf(produto.getPreco()));
	}
	
	public CadastroProdutoGUI() {
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosed(WindowEvent arg0) {
				
			}
		});
		setTitle("Cadastro de Produtos");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 546, 269);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setBackground(Color.WHITE);
		panel.setBounds(0, 0, 530, 237);
		contentPane.add(panel);
		panel.setLayout(null);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBackground(Color.DARK_GRAY);
		panel_1.setBounds(0, 0, 530, 46);
		panel.add(panel_1);
		panel_1.setLayout(null);
		
		JLabel lblNewLabel = new JLabel("PRODUTO");
		lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel.setBounds(10, 11, 510, 20);
		lblNewLabel.setForeground(Color.WHITE);
		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 16));
		panel_1.add(lblNewLabel);
		
		JPanel panel_2 = new JPanel();
		panel_2.setBackground(Color.DARK_GRAY);
		panel_2.setBounds(0, 216, 530, 21);
		panel.add(panel_2);
		panel_2.setLayout(null);
		
		JLabel lblDesenvolvidoPorRosiclia = new JLabel("Desenvolvido por Deny Steiner");
		lblDesenvolvidoPorRosiclia.setBounds(0, 0, 530, 14);
		panel_2.add(lblDesenvolvidoPorRosiclia);
		lblDesenvolvidoPorRosiclia.setHorizontalAlignment(SwingConstants.RIGHT);
		lblDesenvolvidoPorRosiclia.setForeground(Color.WHITE);
		
		JLabel lblNewLabel_1 = new JLabel("C\u00F3digo: ");
		lblNewLabel_1.setBounds(20, 67, 46, 14);
		panel.add(lblNewLabel_1);
		
		JLabel lblNome = new JLabel("Nome: ");
		lblNome.setBounds(20, 95, 46, 14);
		panel.add(lblNome);
		
		JLabel lblPreo = new JLabel("Pre\u00E7o: ");
		lblPreo.setBounds(20, 123, 46, 14);
		panel.add(lblPreo);
		
		JLabel lblFornecedor = new JLabel("Fornecedor:");
		lblFornecedor.setBounds(20, 151, 67, 14);
		panel.add(lblFornecedor);
		
		txCodigo = new JTextField();
		txCodigo.setEnabled(false);
		txCodigo.setBounds(95, 64, 86, 20);
		panel.add(txCodigo);
		txCodigo.setColumns(10);
		
		txNome = new JTextField();
		txNome.setBounds(95, 92, 408, 20);
		panel.add(txNome);
		txNome.setColumns(10);
		
		txPreco = new JTextField();
		txPreco.setBounds(95, 120, 86, 20);
		panel.add(txPreco);
		txPreco.setColumns(10);
		
		JComboBox cbFornecedor = new JComboBox();
		cbFornecedor.setBounds(95, 148, 217, 20);
		panel.add(cbFornecedor);
		
		JButton btnSalvar = new JButton("Salvar");
		btnSalvar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				Produto produto = new Produto();
				produto.setNome(txNome.getText());
				produto.setPreco(Double.parseDouble(txPreco.getText()));
				ProdutoDAO dao = new ProdutoDAO();
				if(!(txCodigo.getText().trim().equals("") || 
						txCodigo.getText() == null)){
					produto.setCodigo(Integer.parseInt(txCodigo.getText()));
					dao.editar(produto);
				}else{
				dao.inserir(produto);
				}
				dispose();
				ListagemProdutoGUI gui = new 
						ListagemProdutoGUI();
				gui.setVisible(true);
			}
		});
		btnSalvar.setBounds(315, 179, 89, 23);
		panel.add(btnSalvar);
		
		JButton btnLimpar = new JButton("Limpar");
		btnLimpar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
				ListagemProdutoGUI gui = new 
						ListagemProdutoGUI();
				gui.setVisible(true);
			}
		});
		btnLimpar.setBounds(414, 179, 89, 23);
		panel.add(btnLimpar);
	}
}
